home *** CD-ROM | disk | FTP | other *** search
/ APDL Eductation Resources / APDL Eductation Resources.iso / programs / maths / statistix / Statistics / !Statistix / !Statistix (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1995-06-14  |  21.9 KB  |  799 lines

  1.  > <Statistix$Dir>.!Statistix
  2. "Hourglass_Smash":
  3. " at line: ";
  4.  "<Statistix$Dir>.ShellLibRT"
  5.  "<Statistix$Dir>.DrawLib"
  6.  "Hourglass_On"
  7.  "Wimp_SlotSize",-1,-1 
  8.  progsize%
  9. pagesize%=1<<10
  10. freespace%=&8000+progsize%
  11. =freespace%+pagesize%
  12. =freespace%
  13. shell_HeapManagerInit("<Obey$Dir>.",freespace%)
  14. shell_Init
  15. 5task%=
  16. shell_WimpInit_I(200,"Statistics Program")
  17.  PROCshell_TraceInit("")
  18.  PROCshell_TraceOn
  19. shell_ResourcesInit
  20. app_init
  21. _closedown%     =
  22. changed%        =
  23. shell_Error
  24.  "Hourglass_Off"
  25. shell_Action(
  26. shell_Poll_I(0,task%))
  27.  _closedown%
  28. shell_Exit:
  29. app_init
  30.  dat1$(1000),dat2$(1000),word$(20):
  31.  cat%(2000),adr1% 12000,adr2% 12000
  32.  T(230,5)
  33. catra%=2:cat=0
  34. '6Data1%=
  35. :Data2%=
  36. :base%=66:topbase%=88:fil$="File"
  37. SetUp_Menus
  38. SetUp_Windows
  39. SetUp_IconBar
  40.  ===== Menu_Setup routines ======================================
  41. SetUp_Menus
  42.  void%
  43. shell_CreateWindowStatic("xfer_send",xfer%)
  44. shell_CreateWindowStatic("xfer_sendr",xferd%)
  45. shell_CreateWindowStatic("Inf1",inf%)
  46. shell_CreateWindowStatic("Fr",fr%)
  47. shell_CreateWindowStatic("SD",sd%)
  48. 6FMenuHandle_IconBar%=
  49. shell_MenuNew(
  50. shell_MessageNoArgs("MTIBar"))
  51. 7IMenuItem_Info%     =
  52. shell_MenuAdd(0,
  53. shell_MessageNoArgs("Info"),"")
  54. 8Yvoid%              =
  55. shell_MenuAdd(0,
  56. shell_MessageNoArgs("Quit"),"_MenuSelect_Quit")
  57. shell_AttachMenuDBox(MenuItem_Info%,"progInfo","_PreOpenInfo","")
  58. ;,MenuHandle_data1%  =
  59. shell_MenuNew(fil$)
  60. <MMenuItem_Pa%       =
  61. shell_MenuAdd(0,
  62. shell_MessageNoArgs("Param"),"_Pa")
  63. =NMenuItem_Fr%       =
  64. shell_MenuAdd(0,
  65. shell_MessageNoArgs("Frequ"),"_Fr1")
  66. >3MenuItem_Save%     =
  67. shell_MenuAdd(0,"Save","")
  68. shell_AttachSubMenu(MenuItem_Pa%,inf%,"_Pa")
  69. shell_AttachSubMenu(MenuItem_Fr%,fr%,"_Fr1")
  70. shell_AttachSubMenu(MenuItem_Save%,xfer%,"_D1")
  71. C,MenuHandle_data2%  =
  72. shell_MenuNew(fil$)
  73. DNMenuItem_Pa%       =
  74. shell_MenuAdd(0,
  75. shell_MessageNoArgs("Param"),"_Pa2")
  76. EJMenuItem_Sd%       =
  77. shell_MenuAdd(0,
  78. shell_MessageNoArgs("SD"),"_Sd")
  79. F3MenuItem_Save%     =
  80. shell_MenuAdd(0,"Save","")
  81. shell_AttachSubMenu(MenuItem_Pa%,inf%,"_Pa2")
  82. shell_AttachSubMenu(MenuItem_Sd%,sd%,"_Sd")
  83. shell_AttachSubMenu(MenuItem_Save%,xfer%,"_D2")
  84. KEMenuHandle_data3%  =
  85. shell_MenuNew(
  86. shell_MessageNoArgs("Frequ"))
  87. LKMenuItem_Render%   =
  88. shell_MenuAdd(0,
  89. shell_MessageNoArgs("dis"),"_Re")
  90. M3MenuItem_Save%     =
  91. shell_MenuAdd(0,"Save","")
  92. shell_AttachSubMenu(MenuItem_Save%,xfer%,"_D3")
  93. PDMenuHandle_Dr%     =
  94. shell_MenuNew(
  95. shell_MessageNoArgs("Draw"))
  96. Q4MenuItem_Saved%     =
  97. shell_MenuAdd(0,"Save","")
  98. shell_AttachSubMenu(MenuItem_Saved%,xferd%,"_D4")
  99. SetUp_Windows
  100. shell_CreateWindowStatic("Data1",data1%)
  101. shell_CreateWindowStatic("Data2",data2%)
  102. shell_CreateWindowStatic("Data3",data3%)
  103. shell_CreateWindowStatic("Mainw",mainw%)
  104. shell_CreateWindowStatic("Datin",datin%)
  105. shell_CreateWindowStatic("Chart",chart%)
  106. shell_CreateWindow("Message",loaded%)
  107. shell_CreateWindowStatic("datgen",datgen%)
  108. shell_AttachDataLoad(mainw%,31,&FFF,"_CSVload",
  109. shell_AttachDataLoad(-1,-1,&FFF,"_CSVload",
  110. shell_AttachDataLoad(mainw%,31,&DFE,"_CSVload",
  111. shell_AttachDataLoad(-1,-1,&DFE,"_CSVload",
  112. shell_AttachDataSave(xfer%,2,100,&DFE,1,"_dosave")
  113. shell_AttachDataSave(xferd%,2,100,&AFF,1,"_dosavedr")
  114. shell_AttachMenu(data1%,-1,MenuHandle_data1%,0,0,0)
  115. shell_AttachMenu(data2%,-1,MenuHandle_data2%,0,0,0)
  116. shell_AttachMenu(data3%,-1,MenuHandle_data3%,0,0,0)
  117. shell_AttachMenu(chart%,-1,MenuHandle_Dr%,0,0,0)
  118. shell_AttachClickSelect(mainw%,-1,"_ClickSelect_mainw")
  119. shell_AttachClickSelect(datgen%,-1,"_ClickSelect_datgen")
  120. shell_AttachClickSelect(datin%,-1,"_ClickSelect_datin")
  121. shell_AttachClickSelect(fr%,-1,"_ClickSelect_Fr")
  122. shell_AttachUserRedraw(chart%,"_UserRedraw_Mainw")
  123. shell_AttachHelpTag(fr%,9,"Fre")
  124. shell_AttachHelpTag(fr%,10,"Fre")
  125. shell_AttachHelpTag(fr%,11,"Fre")
  126. shell_AttachHelpTag(mainw%,31,"drag")
  127. shell_AttachHelpTag(mainw%,30,"marks")
  128. shell_AttachHelpTag(mainw%,32,"Doub")
  129. shell_AttachHelpTag(mainw%,33,"Random")
  130. shell_AttachHelpTag(mainw%,66,"Win")
  131. shell_AttachHelpTag(mainw%,67,"Win")
  132. shell_AttachHotKey("F3",
  133. ,"xfer_send",xfer%,"","")
  134.  ===== IconBar_SetUp routines ===================================
  135. SetUp_IconBar
  136. |Ssicon=
  137. shell_Iconbar(-1,"!"+
  138. shell_GetAppName,"",120,MenuHandle_IconBar%,0,0,0)
  139. shell_AttachHelpTag(-1,sicon,"iconbar")
  140. shell_AttachClickSelect(-1,sicon,"_ClickSelect_IconBar")
  141.  ===== Dialog_PreOpen routines ==================================
  142. _PreOpenInfo(wh%)
  143. shell_IconPutData(wh%,0,
  144. shell_MessageNoArgs("progInfo0"),0)
  145. shell_IconPutData(wh%,1,
  146. shell_MessageNoArgs("progInfo1"),0)
  147. shell_IconPutData(wh%,2,
  148. shell_MessageNoArgs("progInfo2"),0)
  149. shell_IconPutData(wh%,3,
  150. shell_MessageNoArgs("progInfo3"),0)
  151. _ClickSelect_IconBar(wh%,icon%)
  152. shell_OpenWindowStatic(mainw%)
  153. _ClickSelect_mainw(wh%,icon%)
  154. shell_IconPutData(loaded%,1,"2 files already loaded!",
  155. icon%=30 
  156.  Data2% 
  157.  Data1% 
  158. shell_OpenWindowDynamic("Message","","")
  159.  Data1% 
  160.  Data2% Data2%=
  161. shell_OpenWindowStatic(datin%)
  162.  Data1%            Data1%=
  163. shell_OpenWindowStatic(datin%)
  164. icon%=32 
  165.  Data2% 
  166.  Data1% 
  167. shell_OpenWindowDynamic("Message","","")
  168.   dd%=
  169. :rn%=
  170.  Data1% 
  171.  Data2% Data2%=
  172. shell_OpenWindowStatic(datgen%)
  173.  Data1%            Data1%=
  174. shell_OpenWindowStatic(datgen%)
  175. icon%=33 
  176.  Data2% 
  177.  Data1% 
  178. shell_OpenWindowDynamic("Message","","")
  179.   dd%=
  180. :rn%=
  181.  Data1% 
  182.  Data2% Data2%=
  183. shell_OpenWindowStatic(datgen%)
  184.  Data1%            Data1%=
  185. shell_OpenWindowStatic(datgen%)
  186. icon%=66 
  187. shell_WindowIsOpen(data1%) =
  188. shell_OpenWindowStatic(data1%)
  189. shell_CloseWindow(data1%)
  190. icon%=67 
  191. shell_WindowIsOpen(data2%) =
  192. shell_OpenWindowStatic(data2%)
  193. shell_CloseWindow(data2%)
  194. _ClickSelect_datin(wh%,icon%)
  195.  icon% 
  196. select
  197. _Re(blk%)
  198. shell_OpenWindowStatic(chart%)
  199. _Sd(wh%,icon%)
  200. Data1% 
  201.  Data2% 
  202. shell_IconPutData(sd%,3,
  203. shell_IconGetData(mainw%,58),
  204. shell_IconPutData(sd%,12,
  205. shell_IconGetData(mainw%,59),
  206. stats1
  207. shell_IconPutData(sd%,6,
  208. (mean),
  209. shell_IconPutData(sd%,7,
  210. (sd),
  211. shell_IconPutData(sd%,8,
  212. (num%),
  213. ! mean1=mean:sd1=sd:num1%=num%
  214. stats2
  215. shell_IconPutData(sd%,15,
  216. (mean),
  217. shell_IconPutData(sd%,16,
  218. (sd),
  219. shell_IconPutData(sd%,17,
  220. (num%),
  221. ! mean2=mean:sd2=sd:num2%=num%
  222. dfind
  223. shell_IconPutData(sd%,19,
  224. (f%),
  225. table
  226. signif
  227. shell_OpenWindowStatic(sd%)
  228. shell_IconPutData(loaded%,1,"Not enough files!",
  229. shell_OpenWindowDynamic("Message","","")
  230. _ClickSelect_datgen(wh%,icon%)
  231.  icon% 
  232. 2dice :dd%=
  233. rand  :rn%=
  234. _Fr1(wh%,icon%)
  235. stats1
  236. Cr%=(max-min)/20:
  237. :r%+=1:
  238.  r%=20 
  239.  r%=15 
  240.  r%=10 
  241. )base%=min:
  242. : base%-=1 :
  243.  base% 
  244.  r%=0
  245. 2topbase%=max:
  246. : topbase%+=1 :
  247.  topbase% 
  248.  r%=0
  249. shell_IconPutData(fr%,4,
  250. (min),
  251. shell_IconPutData(fr%,5,
  252. (max),
  253. shell_IconPutData(fr%,9,
  254. (r%),
  255. shell_IconPutData(fr%,10,
  256. (base%),
  257. shell_IconPutData(fr%,11,
  258. (topbase%),
  259. _ClickSelect_Fr(wh%,icon%)
  260.  icon% 
  261. ) catra%= 
  262. shell_IconGetData(fr%,9))
  263. ( base%=
  264. shell_IconGetData(fr%,10))
  265. + topbase%=
  266. shell_IconGetData(fr%,11))
  267. FreqDist
  268. _Pa(wh%,icon%)
  269. stats1
  270. shell_OpenWindowStatic(inf%)
  271. _Pa2(wh%,icon%)
  272. stats2
  273. shell_OpenWindowStatic(inf%)
  274. _D1(wh%,icon%)
  275. fil%=1
  276. &fil$=
  277. shell_IconGetData(mainw%,58)
  278. shell_IconPutData(xfer%,1,fil$,
  279. _D2(wh%,icon%)
  280. fil%=2
  281. &fil$=
  282. shell_IconGetData(mainw%,59)
  283. shell_IconPutData(xfer%,1,fil$,
  284. _D3(wh%,icon%)
  285. fil%=3
  286. fil$="Histograms"
  287. shell_IconPutData(xfer%,1,fil$,
  288. _D4(wh%,icon%)
  289. fil$="Histogram"
  290. _MenuSelect_Quit(blk%)
  291. _closedown%=
  292. _dosave(fil$)
  293. fil%=1 
  294. save1(fil$)
  295. fil%=2 
  296. save2(fil$)
  297. fil%=3 
  298. save3(fil$)
  299. _dosavedr(fil$)
  300. save4(fil$)
  301. save1(file$)
  302.  file$
  303. :A%+=1
  304. %, dat1$(A%)=
  305. shell_IconGetData(data1%,A%)
  306. &     B%=0
  307.   B%+=1
  308. )(  dat=
  309. dat1$(A%),B%,
  310. (dat1$(A%))))
  311.  dat >03 
  312. #X%,dat
  313. (dat1$(A%))+1
  314. #X%,13
  315.  A%=num%
  316. ("SetType "+file$+" &DFE")
  317. save2(file$)
  318.  file$
  319. :A%+=1
  320. 6, dat1$(A%)=
  321. shell_IconGetData(data1%,A%)
  322. 7     B%=0
  323.   B%+=1
  324. :(  dat=
  325. dat2$(A%),B%,
  326. (dat2$(A%))))
  327.  dat >03 
  328. #X%,dat
  329. (dat2$(A%))+1
  330. #X%,13
  331.  A%=num%
  332. ("SetType "+file$+" &DFE")
  333. save3(file$)
  334.  file$
  335. :A%+=1
  336. G     B%=0
  337. #X%,34
  338. :B%+=1
  339. J)   dat$=
  340. shell_IconGetData(data3%,A%)
  341.    dat=
  342. dat$,B%,
  343. (dat$)))
  344.  dat >03 
  345. #X%,dat
  346. (dat$)+1
  347. #X%,34
  348. #X%,44
  349.   B%=0
  350. :B%+=1
  351. R,   dat$=
  352. shell_IconGetData(data3%,A%+20)
  353.    dat=
  354. dat$,B%,
  355. (dat$)))
  356.  dat >03 
  357. #X%,dat
  358. (dat$)+1
  359. #X%,13
  360.  A%=ni%
  361. ("SetType "+file$+" &DFE")
  362. save4(file$)
  363. shell_DrawSaveFile(buffer%,file$)
  364. _CSVload(addr%,filetype%,fil$,s%)
  365. shell_IconPutData(loaded%,1,"2 files already loaded!",
  366.  Data2% 
  367.  Data1% 
  368. shell_OpenWindowDynamic("Message","","")
  369.  Data1% 
  370.  Data2% Data2%=
  371. CSV2Load
  372.  Data1%            Data1%=
  373. CSVLoad
  374. CSVLoad
  375. shell_WindowIsOpen(mainw%)=
  376. shell_OpenWindowStatic(mainw%)
  377.  "Hourglass_On"
  378.  fil$
  379. A%=1 :maxlength%=0
  380. :dat1$(A%)=""
  381.   A$=
  382. (02) dat1$(A%)=dat1$(A%)+A$
  383. (13) 
  384. (10) 
  385. (dat1$(A%))>maxlength%  maxlength%=
  386. (dat1$(A%))
  387. (13) 
  388. (10) A%+=1
  389. t    A%-=1
  390. num%=A%
  391. shell_WindowResize(data1%,10,-20,300,60+(num%*60),
  392. A%=1 
  393.  num%
  394. yk  icon%=
  395. shell_IconCreate(data1%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr1%+maxlength%*A%,12,"B3")
  396. shell_IconPutData(data1%,icon%,dat1$(A%),
  397. shell_WindowScrollTo(data1%,0,61*num%)
  398. shell_IconPutData(mainw%,58,
  399. shell_Leaf(fil$),
  400. shell_WindowRetitle(data1%,
  401. shell_Leaf(fil$))
  402. shell_OpenWindowStatic(data1%)
  403. shell_IconPutData(xfer%,1,
  404. shell_Leaf(fil$),
  405.  "Hourglass_Off"
  406. CSV2Load
  407. shell_WindowIsOpen(mainw%)=
  408. shell_OpenWindowStatic(mainw%)
  409.  "Hourglass_On"
  410.  fil$
  411. A%=1 :maxlength%=0
  412. :dat2$(A%)=""
  413.   A$=
  414. (02) dat2$(A%)=dat2$(A%)+A$
  415. (13) 
  416. (10) 
  417. (dat2$(A%))>maxlength%  maxlength%=
  418. (dat2$(A%))
  419. (13) 
  420. (10) A%+=1
  421.     A%-=1
  422. num%=A%
  423. shell_WindowResize(data2%,10,-20,300,60+(num%*60),
  424. A%=1 
  425.  num%
  426. j icon%=
  427. shell_IconCreate(data2%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr2%+maxlength%*A%,12,"B3")
  428. shell_IconPutData(data2%,icon%,dat2$(A%),
  429. shell_WindowScrollTo(data2%,0,61*num%)
  430. shell_IconPutData(mainw%,59,
  431. shell_Leaf(fil$),
  432. shell_WindowRetitle(data2%,
  433. shell_Leaf(fil$))
  434. shell_OpenWindowStatic(data2%)
  435.  "Hourglass_Off"
  436. shell_IconPutData(xfer%,1,
  437. shell_Leaf(fil$),
  438. select
  439. * num%= 
  440. shell_IconGetData(datin%,3))
  441. + fil$=     
  442. shell_IconGetData(datin%,5)
  443.  "Hourglass_On"
  444.  Data1%  
  445.  Data2%
  446. shell_WindowResize(data1%,10,-20,300,60+(num%*60),
  447. A%=1 
  448.  num%
  449. c  icon%=
  450. shell_IconCreate(data1%,30,((num%-A%)*60),250,54,7,0,&1701F119,"",adr1%+12*A%,12,"B3")
  451. shell_IconPutData(data1%,icon%,"",
  452. shell_WindowScrollTo(data1%,0,61*num%)
  453. shell_IconPutData(mainw%,58,
  454. shell_Leaf(fil$),
  455. shell_WindowRetitle(data1%,
  456. shell_Leaf(fil$))
  457. shell_OpenWindowStatic(data1%)
  458.  Data2% 
  459.   Data1%    
  460. shell_WindowResize(data2%,10,-20,300,60+(num%*60),
  461. A%=1 
  462.  num%
  463. c  icon%=
  464. shell_IconCreate(data2%,30,((num%-A%)*60),250,54,7,0,&1701F119,"",adr2%+12*A%,12,"B3")
  465. shell_IconPutData(data2%,icon%,"",
  466. shell_WindowScrollTo(data2%,0,61*num%)
  467. shell_IconPutData(mainw%,59,
  468. shell_Leaf(fil$),
  469. shell_WindowRetitle(data2%,
  470. shell_Leaf(fil$))
  471. shell_OpenWindowStatic(data2%)
  472. shell_CloseWindow(datin%)
  473.  "Hourglass_Off"
  474. shell_IconPutData(xfer%,1,
  475. shell_Leaf(fil$),
  476. 2dice
  477.  "Hourglass_On"
  478. &fil$=
  479. shell_MessageNoArgs("2dice")
  480. shell_IconGetData(datgen%,3))
  481. shell_IconGetData(datgen%,2)):num%=N
  482.  Data1% 
  483.  Data2% 
  484. shell_WindowResize(data1%,10,-20,300,60+(N*60),
  485.  A%=1 
  486. shell_IconDelete2(data1%,A%)
  487. c  icon%=
  488. shell_IconCreate(data1%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr1%+A%*12,12,"B3")
  489. +  dat1$(A%)=
  490. (M)+0.5)/2))+
  491.  A%=1 
  492. shell_IconPutData(data1%,N+1-A%,dat1$(A%),
  493. shell_WindowRetitle(data1%,
  494. shell_MessageNoArgs("2dice"))
  495. shell_IconPutData(mainw%,58,
  496. shell_Leaf(fil$),
  497. shell_CloseWindow(datgen%)
  498. shell_WindowScrollTo(data1%,0,61*N)
  499. shell_OpenWindowStatic(data1%)
  500.  Data2%    
  501. shell_WindowResize(data2%,10,-20,300,60+(N*60),
  502.  A%=1 
  503. shell_IconDelete2(data2%,A%)
  504. c  icon%=
  505. shell_IconCreate(data2%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr2%+A%*12,12,"B3")
  506. +  dat2$(A%)=
  507. (M)+0.5)/2))+
  508.  A%=1 
  509. shell_IconPutData(data2%,N+1-A%,dat2$(A%),
  510. shell_WindowRetitle(data2%,
  511. shell_MessageNoArgs("2dice"))
  512. shell_IconPutData(mainw%,59,
  513. shell_Leaf(fil$),
  514. shell_CloseWindow(datgen%)
  515. shell_WindowScrollTo(data2%,0,61*N)
  516. shell_OpenWindowStatic(data2%)
  517. shell_IconPutData(xfer%,1,
  518. shell_Leaf(fil$),
  519. num%=N
  520.  "Hourglass_Off"
  521.  "Hourglass_On"
  522. %fil$=
  523. shell_MessageNoArgs("Rand")
  524. shell_IconGetData(datgen%,3))
  525. shell_IconGetData(datgen%,2))
  526. num%=N
  527.  Data1% 
  528.  Data2% 
  529. shell_WindowResize(data1%,10,-20,300,60+(N*60),
  530.  A%=1 
  531. shell_IconDelete2(data1%,A%)
  532. c  icon%=
  533. shell_IconCreate(data1%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr1%+A%*12,12,"B3")
  534.   dat1$(A%)=
  535. (M)))+
  536.  A%=1 
  537. shell_IconPutData(data1%,N+1-A%,dat1$(A%),
  538. shell_WindowRetitle(data1%,
  539. shell_MessageNoArgs("Rand"))
  540. shell_IconPutData(mainw%,58,
  541. shell_Leaf(fil$),
  542. shell_CloseWindow(datgen%)
  543. shell_WindowScrollTo(data1%,0,61*N)
  544. shell_OpenWindowStatic(data1%)
  545.  Data2% 
  546. shell_WindowResize(data2%,10,-20,300,60+(N*60),
  547.  A%=1 
  548. shell_IconDelete2(data2%,A%)
  549. c  icon%=
  550. shell_IconCreate(data2%,30,((num%-A%)*60),250,54,7,0,&17000119,"",adr2%+A%*12,12,"B3")
  551.   dat2$(A%)=
  552. (M)))+
  553.  A%=1 
  554. shell_IconPutData(data2%,N+1-A%,dat2$(A%),
  555. shell_WindowRetitle(data2%,
  556. shell_MessageNoArgs("Rand"))
  557. shell_IconPutData(mainw%,59,
  558. shell_Leaf(fil$),
  559. shell_CloseWindow(datgen%)
  560. shell_WindowScrollTo(data2%,0,61*N)
  561. shell_OpenWindowStatic(data2%)
  562. shell_IconPutData(xfer%,1,
  563. shell_Leaf(fil$),
  564. num%=N
  565.  "Hourglass_Off"
  566. stats1
  567. shell_WindowRetitle(inf%,
  568. shell_MessageNoArgs("Paramaters ")+
  569. shell_IconGetData(mainw%,58))
  570. shell_WindowRetitle(fr%,
  571. shell_MessageNoArgs("Freq"))
  572. 2sum=0:A%=0:min=9999999:max=0:mean=0:num%=0:X=0
  573. (num%=
  574. shell_IconGetData(datin%,3))
  575. :A%+=1
  576. , dat1$(A%)=
  577. shell_IconGetData(data1%,A%)
  578. (dat1$(A%))>max                  max=
  579. (dat1$(A%))
  580. (dat1$(A%))<min 
  581.  dat1$(A%)>"" min=
  582. (dat1$(A%))
  583.  sum=sum+
  584. (dat1$(A%))
  585.  dat1$(A%)="":A%-=1
  586.  0num%=A%:
  587. shell_IconPutData(inf%,3,
  588. (num%),
  589. num%=0 mean=0:min=0 
  590.  mean=sum/num%
  591. :A%+=1
  592. (dat1$(A%))
  593. sd(Q)
  594.  A%=num%:A%=0
  595. shell_IconPutData(inf%,4,
  596. (mean),
  597. shell_IconPutData(inf%,6,
  598. (min),
  599. shell_IconPutData(inf%,8,
  600. (max),
  601. shell_IconPutData(inf%,10,
  602. (max-min),
  603. +>median=(max+min)/2:
  604. shell_IconPutData(inf%,12,
  605. (median),
  606. ,5mode=
  607. _Mode:
  608. shell_IconPutData(inf%,14,
  609. (mode),
  610. shell_IconPutData(inf%,16,
  611. (sd),
  612. stats2
  613. shell_WindowRetitle(inf%,
  614. shell_MessageNoArgs("Paramaters")+" "+
  615. shell_IconGetData(mainw%,59))
  616. 22sum=0:A%=0:min=9999999:max=0:mean=0:num%=0:X=0
  617. :A%+=1
  618. 4, dat2$(A%)=
  619. shell_IconGetData(data2%,A%)
  620. (dat2$(A%))>max                  max=
  621. (dat2$(A%))
  622. (dat2$(A%))<min 
  623.  dat2$(A%)>"" min=
  624. (dat2$(A%))
  625.  sum=sum+
  626. (dat2$(A%))
  627.  dat2$(A%)="":A%-=1
  628. 90num%=A%:
  629. shell_IconPutData(inf%,3,
  630. (num%),
  631. num%=0 mean=0:min=0 
  632.  mean=sum/num%
  633. :A%+=1
  634. (dat2$(A%))
  635. sd(Q)
  636.  A%=num%:A%=0
  637. shell_IconPutData(inf%,4,
  638. (mean),
  639. shell_IconPutData(inf%,6,
  640. (min),
  641. shell_IconPutData(inf%,8,
  642. (max),
  643. shell_IconPutData(inf%,10,
  644. (max-min),
  645. D>median=(max+min)/2:
  646. shell_IconPutData(inf%,12,
  647. (median),
  648. E5mode=
  649. _Mode:
  650. shell_IconPutData(inf%,14,
  651. (mode),
  652. shell_IconPutData(inf%,16,
  653. (sd),
  654. _Mode
  655. J'catra%=1:base%=min+1:topbase%=max+1
  656.  base%-=1
  657.  base% 
  658.  catra%=0
  659.  topbase%-=1
  660.  topbase% 
  661.  catra%=0
  662. Q,ni%=(topbase%-base%)/(catra%) :cat%(0)=0
  663.  J%=1 
  664.  ni%:cat%(J%)=0
  665.  I%=1 
  666.  num%
  667. (dat1$(I%)) > base%+(J%-1)*catra% 
  668. (dat1$(I%)) <= base%+J%*catra%  cat%(J%)=cat%(J%)+1
  669.  cat%(J%)>cat cat = cat%(J%):mode=J%+1
  670. X    =mode
  671. FreqDist
  672.  "Hourglass_On"
  673. base%+=1:topbase%+=catra%
  674.  base%-=1
  675.  base% 
  676.  catra%=0
  677.  topbase%-=1
  678.  topbase% 
  679.  catra%=0
  680. c!ni%=(topbase%-base%)/(catra%)
  681.  A%=2 
  682. shell_IconPutData(data3%,A%,"",
  683. shell_WindowScrollTo(data3%,0,61*ni%)
  684. shell_OpenWindowStatic(data3%)
  685. catmax%=0
  686.  J% = 1 
  687.  cat%(0)=0:cat%(J%)=0
  688.  I%=1 
  689.  num%
  690. (dat1$(I%))>base%+(J%-1)*catra%
  691. (dat1$(I%))<=base%+J%*catra%
  692.    cat%(J%)=cat%(J%)+1
  693.  cat%(J%)>catmax% catmax%=cat%(J%)
  694. r? word$(J%)=
  695. (base%+(J%-1)*catra%)+" to "+
  696. (base%+J%*catra%)
  697. shell_IconPutData(data3%,J%+1,word$(J%),
  698. shell_IconPutData(data3%,21+J%,
  699. (cat%(J%)),
  700. shell_WindowRetitle(data3%,
  701. shell_MessageNoArgs("Frequ"))
  702. w'fil$=
  703. shell_MessageNoArgs("Freque")
  704. shell_IconPutData(xfer%,1,fil$,
  705. shell_IconPutData(xferd%,1,fil$,
  706.  "Hourglass_Off"
  707. shell_OpenWindowStatic(data3%)
  708. sd(Q)
  709. X=X+((mean-Q)*(mean-Q))
  710. (X/num%)
  711. sdplot
  712. shell_DrawStartGroup(buffer%,"")
  713. shell_DrawSetPathColour(buffer%,0,0,200)
  714. x%=560:y%=860
  715. FOR A=0.2 TO 4.2 STEP 0.2
  716. ra%=mean-base%
  717. 7 a%=(ra%+A)*560/ra%:b%=80+(780*
  718. ((-A*A)/(2*sd*sd)))
  719. shell_DrawLine(buffer%,x%,y%,a%,b%)
  720. 7 x%=(ra%+A)*560/ra%:y%=80+(780*
  721. ((-A*A)/(2*sd*sd)))
  722. x%=560:y%=860
  723. 7 a%=(ra%-A)*560/ra%:b%=80+(780*
  724. ((-A*A)/(2*sd*sd)))
  725. shell_DrawLine(buffer%,x%,y%,a%,b%)
  726. 7 x%=(ra%-A)*560/ra%:y%=80+(780*
  727. ((-A*A)/(2*sd*sd)))
  728. shell_DrawSetPathColour(buffer%,0,0,0)
  729. shell_DrawEndGroup(buffer%)
  730. buffer% = 0
  731. shell_DrawCreateFile(buffer%)
  732. shell_DrawSetPathWidth(buffer%,0.05)
  733. shell_DrawSetScale(buffer%,1,1)
  734. shell_DrawSetUnitsOS(buffer%)
  735. shell_DrawInitFont(buffer%,"Homerton.Bold")
  736. shell_DrawSetFont(buffer%,"Homerton.Bold")
  737. shell_DrawStartGroup(buffer%,"")
  738.  I%=1 
  739. shell_DrawSetFillColour(buffer%,160,160,160)
  740. shell_DrawBox(buffer%,80+(I%-1)*1000/ni%,40,1000/ni%,cat%(I%)*800/catmax%)
  741. shell_DrawSetFillColour(buffer%,0,0,0)
  742. shell_DrawOutlineFont(buffer%,word$(I%),8,8,100+(I%-1)*1000/ni%,2)
  743.  catmax%<20 step%=1
  744.  catmax%>20 
  745.  A%<100 step%=5
  746.  catmax%>1000  step%=10
  747. A%=0 
  748.  catmax%  
  749.  step%
  750. shell_DrawOutlineFont(buffer%,
  751. (A%),8,8,40,40+(A%*800)/catmax%)
  752. shell_DrawEndGroup(buffer%)
  753. sdplot
  754. dfind
  755. 4d=(mean1-mean2)/(
  756. ((sd1^2/num1%)+(sd2^2/num2%)))
  757. 1u=(sd1^2/num1%)/((sd1^2/num1%)+(sd2^2/num2%))
  758. *fr=(u^2/(num1%-1))+((1-u)^2/(num2%-1))
  759. (1/fr)
  760. signif
  761.  d <T(f%,0) 
  762. shell_IconPutData(sd%,20,"There is no significant difference",
  763.   B%=0
  764.  A%=0 
  765.  d >T(f%,A%) 
  766.  B%=A%+1
  767.  B%=1 M$="90%"
  768.  B%=2 M$="95%"
  769.  B%=3 M$="98%"
  770.  B%=4 M$="99%"
  771.  B%=5 M$="99.8%"
  772.  B%=6 M$="99.9%"
  773. shell_IconPutData(sd%,20,"Difference is significant within "+M$+" limits",
  774. table
  775.  M%=0 
  776.  N%=0 
  777.   T(M%,N%)=V
  778. _UserRedraw_Mainw(blk%,x%,y%)
  779.  scl,xpos,ypos,width,height,yorg,xorg
  780. !_Q%=chart%
  781.  "Wimp_GetWindowInfo",,_Q%
  782. MinX%  =_Q%!4
  783. MinY%  =_Q%!8
  784. MaxX%  =_Q%!12
  785. MaxY%  =_Q%!16
  786. ScrX%  =_Q%!20
  787. ScrY%  =_Q%!24
  788. Miwx%  =_Q%!44
  789. Miwy%  =_Q%!48
  790. Mawx%  =_Q%!52
  791. Mawy%  =_Q%!56
  792. shell_DrawRenderFile(buffer%,MinX%-ScrX%,MaxY%-ScrY%+Miwy%,blk%,
  793.  6.314,12.71,31.82,63.66,318.3,636.6,2.920,4.303,6.965,9.925,22.33,31.6,2.353,3.182,4.541,5.841,10.21,12.92,2.132,2.776,3.747,4.604,7.173,8.61,2.015,2.571,3.365,4.032,5.893,6.896
  794. 1.943,2.447,3.143,3.707,5.208,5.959,1.895,2.365,2.998,3.499,4.785,5.408,1.860,2.306,2.896,3.355,4.501,5.041,1.833,2.262,2.821,3.250,4.297,4.781,1.812,2.228,2.764,3.169,4.144,4.587
  795.  1.796,2.201,2.718,3.106,4.025,4.437,1.782,2.179,2.681,3.055,3.93,4.318,1.771,2.16,2.650,3.012,3.852,4.221,1.761,2.145,2.624,2.977,3.787,4.140,1.753,2.131,2.602,2.947,3.733,4.073
  796. 1.746,2.120,2.583,2.921,3.686,4.015,1.740,2.110,2.567,2.898,3.646,3.965,1.734,2.101,2.552,2.878,3.610,3.922,1.729,2.093,2.539,2.861,3.579,3.883,1.725,2.086,2.528,2.845,3.552,3.850
  797. 1.721,2.080,2.518,2.831,3.527,3.819,1.717,2.074,2.508,2.819,3.505,3.792,1.714,2.069,2.5,2.807,3.485,3.767,1.711,2.064,2.492,2.797,3.467,3.745,1.708,2.060,2.485,2.787,3.450,3.725
  798. 1.706,2.056,2.479,2.779,3.435,3.707,1.703,2.052,2.473,2.771,3.421,3.690,1.701,2.048,2.467,2.763,3.408,3.674,1.699,2.045,2.462,2.756,3.396,3.659,1.697,2.042,2.457,2.750,3.385,3.646
  799.